Mackerelのハンズオン
概要
Mackerelハンズオン
http://mackerelio.connpass.com/event/38331/
当選したので行ってきた。
本来は別の日だったんだけど、台風でズレて9/5になった。
はてな、東京のはわりとぬる舗から近いということがわかった。
資料
ひこうかい。
Mackerel概要
push型。監視対象サービスにインストールされたエージェントがデータをpushする。
zabbixとかnagiosはpull型。
デザイナー専属でいるので一貫性があって素敵。
GUI、CLI、CLIからAPI経由で制御、とかいろんなインターフェースがある。
やってみる系
AWSに仮の監視対象を用意してくれてた。
Makerelにおけるグルーピングとか用語
オーガニゼーション x N
サービス x M
ロール x L
みたいな並び。
エージェントを監視対象サーバにインストール
下記コマンドを実行後、インストールコマンドがサジェストされるんで、それを入れる。
curl -fsSL https://mackerel.io/assets/files/scripts/setup-yum.sh | sh
APIKeysをエージェントに登録
MakerelのユーザーページからAPIKeysが取得できるんで、それを監視対象のエージェントに入れる。
sudo mackerel-agent init -apikey="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
エージェントの起動
sudo /etc/init.d/mackerel-agent start
サービスとロールの設定
サービス、そこに所属するロールを作成
作成したサービス/ロールと、ホスト(エージェントをインストールしたとこ)との連携
Hosts から、すでにMackerelのエージェントを入れたマシンが表示されてるので、
そこに先ほど作成したサービス/ロールを割り当てることができる。
モニタリングからアラート設定の流れ
Monitors > New Monitor とかで作成。
GUIから設定できる。便利だ。
アラートが出たらどうなるの?
時系列で可視化される。
と同時に、「チケット」が作成される。
かなり素敵。
メールも届く。
原因を排除すれば、アラートは消えて、チケットも消化される。
あと解消しましたメールも届く。
特定のミドルウェアに関してのプラグインをエージェントに入れる
MySQLとかApacheとかの監視ができるプラグインを入れてみる。
プラグインはここで公開されてる。
https://github.com/mackerelio/mackerel-agent-plugins
プラグイン集はこれスクリプトで、下記コマンドでエージェントが入ってるPeerにインストールできる。
sudo yum install -y mackerel-agent-plugins
あとは名指しで、起動するプラグインを指定してエージェント再起動。
/etc/mackerel-agent/mackerel-agent.conf を編集
sudo /etc/init.d/mackerel-agent restart
プラグインはstdoutを適当なフォーマットで吐ければいい
プラグインは単体でも実行できて、stdoutにstringを吐くことができればOKなのか。
フォーマットはタブで区切られてて改行があればいいぽい。
なるほどな~~~
サービスメトリックについて
ホストをまとめたもの = サービスに対してのメトリック。
ようはユーザーが自由に定義していいメトリック。
公式ヘルプ
fluentdでMackerelに送り込む方法とかが書いてあって面白い。
https://mackerel.io/ja/docs/entry/advanced/fluentd
Q&A
Q.Mackerel自体の死活監視ってどうなるの?
A.mackerel.status.io あるよ
Q.Mackerelのエージェントって何製?
A.go。フットプリント小さいんで良い。
感想
Mackerel、ビジュアライズがとても綺麗で見やすかった。
適当になんか作るときに使おうと思う。
ハンズオンは監視対象のインスタンスまで用意してくださっていて、とても快適に学ぶことができた。
お茶もあったし。
企画してくださった方、当日お世話になったTAやTの方、ありがとうございます。